/* 
 * File:   OperacionEco.cpp
 * Author: max
 * 
 * Created on May 31, 2013, 2:19 AM
 */
#include <sstream>
#include <iostream>
#include "client_OperacionEco.h"

using namespace std;
using namespace TP::Operaciones;

OperacionEco::OperacionEco(uint32_t token,EcoServiceProxy* pEcoService) : Operacion (token){
    _ecoServicio = pEcoService;
}

OperacionEco::~OperacionEco() {
    _ecoServicio = NULL;
}

void OperacionEco::ejecutar(){
    _ecoServicio->eco(getId());
}

void OperacionEco::procesarRespuesta (vector<string> &pRespuesta) {
    
    if (this->finalizada()) return;
    
    try
    {
        std::stringstream strstm (pRespuesta[0]);
        uint32_t token;
        strstm >> token;
        
        if (getId() == token)
        {
            cout << endl << pRespuesta[1] << endl;
            
            this->setFinalizada(true);
        }
    }
    catch (int &ex)
    {
        cerr << endl << "Fallo desconocido al manejar un mensaje entrante en OperacionEco." << endl;
    }
}



